home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / pascal / rlnk110.zip / RIPLINK.DOC < prev    next >
Text File  |  1994-02-21  |  77KB  |  2,028 lines

  1.  
  2. ┌───────────────────────────────────────────────────────────────────────────┐
  3. │░░░▒▒▒▓▓▓███               RIPlink - Version 1.10              ███▓▓▓▒▒▒░░░│
  4. └───────────────────────────────────────────────────────────────────────────┘
  5.  
  6.  
  7.            RIPlink(tm) - Version 1.10 - Documentation - 02-21-1994
  8.          Copyright (C) 1994 by InterProgramming, All Rights Reserved.
  9.  
  10.  
  11.  
  12.  
  13. ┌───────────────────────────────────────────────────────────────────────────┐
  14. │░░░▒▒▒▓▓▓███                 Table of Contents                 ███▓▓▓▒▒▒░░░│
  15. └───────────────────────────────────────────────────────────────────────────┘
  16.  
  17. Section Title                               Page
  18. ─────────────────────────────────────      ──────
  19. Distribution and Support Information          2
  20. Warranty and Disclaimer                       3
  21. License Agreement                             3
  22. Registration Information                      4
  23. General Information about RIPlink             6
  24. Installation Information                      7
  25. Basic Memory Requirements                     7
  26. Interfacing with Door Toolkits                8
  27. Definitions
  28.  ■ Constants                                  9
  29.  ■ Types                                     10
  30.  ■ Variables                                 12
  31.  ■ Procedures, Functions, and Methods        12
  32. Programming Suggestions                      38
  33. Comments from InterProgramming               38
  34. Credits                                      39
  35. Index to Methods                             40
  36.  
  37.  
  38.  
  39.  
  40.  
  41. ┌───────────────────────────────────────────────────────────────────────────┐
  42. │ RIPlink - Version 1.10                                             Page 2 │
  43. └───────────────────────────────────────────────────────────────────────────┘
  44.  
  45. ┌───────────────────────────────────────────────────────────────────────────┐
  46. │░░░▒▒▒▓▓▓███       Distribution and Support Information        ███▓▓▓▒▒▒░░░│
  47. └───────────────────────────────────────────────────────────────────────────┘
  48.  
  49. The RIPlink archive contains eight sub-archives.  Each of these eight 
  50. sub-archives contains one version of RIPlink.  These cover Turbo Pascal 
  51. versions 5.5, 6.0, and 7.0 and three different configurations of RIPlink.
  52. Those three configurations are as follows:
  53.  
  54. R??-EXT.* - EGAVGA.BGI and *.CHR files are external.
  55. R??-INT.* - EGAVGA.BGI and 4 basic fonts (*.CHR) are internal, extra fonts
  56.                are external.  This provides RIPscrip v1.52 support.
  57. R??-ALL.* - All files are internal.  This provides RIPscrip 1.53+ support.
  58.  
  59. The TP 5.5 version does not include the *.ALL version as it does not support
  60. it.  TP 6.0 supports all extended fonts with the exception of Bold (Font 10).
  61.  
  62. TP 7.0 provides all of the necessary BGI and CHR (font) files.  TP 6.0 only 
  63. provides the basic fonts, but can use the extended fonts.  You may obtain
  64. them from my system as listed below.  TP 5.5 only provides the basic fonts, 
  65. however it can't use the extended fonts.
  66.  
  67. The latest version of RIPlink may be downloaded or Freqed from the sites 
  68. listed below.  Magic file name (for Freq) is: RIPLINK.  This will always
  69. provide you with the latest version.  If you need the driver files (*.BGI
  70. and *.CHR,) Freq: BGIDRIV.
  71.  
  72. Files may be obtained from:
  73.  The Programming Link     The Tech Source      The Shadow Lands
  74.  (505)822-8944            (505)255-0697        (604)261-6144
  75.  14.4kbps, v32bis         14.4kbps, v32bis     19.2kbps, ZyXEL, v32bis
  76.  1:301/3  USA             1:301/29  USA        1:153/769  CANADA
  77.  
  78. Support for RIPlink is available through either private NetMail (FidoNet)
  79. sent to 1:301/3 or Echomail.  We regularly read both the DOORWARE and PASCAL
  80. echos on FidoNet.  Please address all mail to Tom Morgan.  We also offer our
  81. own support echo.  If you're interested in carrying it, please send NetMail
  82. to Tom Morgan @ 1:301/3.
  83.  
  84. Installation instructions may be found below.  Please do NOT attempt to
  85. install RIPlink until you have read the installation instructions.
  86.  
  87.  
  88.  
  89.  
  90.  
  91. ┌───────────────────────────────────────────────────────────────────────────┐
  92. │ RIPlink - Version 1.10                                             Page 3 │
  93. └───────────────────────────────────────────────────────────────────────────┘
  94.  
  95. ┌───────────────────────────────────────────────────────────────────────────┐
  96. │░░░▒▒▒▓▓▓███              Warranty and Disclaimer              ███▓▓▓▒▒▒░░░│
  97. └───────────────────────────────────────────────────────────────────────────┘
  98.  
  99. This software and accompanying materials are distributed "as is" without
  100. warranty, neither expressed nor implied; including but not limited to any
  101. implied warranties of merchantability or fitness for a particular purpose.
  102. In no event shall Thomas E. Morgan, InterProgramming or anyone else involved
  103. with the creation or production of this product be held liable for any
  104. damages, including, but not limited to, any lost profits, savings, data or
  105. other incidental, indirect, special, or consequential damages arising out of
  106. the use or inability to use this software, or for any claim by any other
  107. party, even if Thomas E. Morgan or InterProgramming has been advised of the
  108. possibility of such damages.  The person(s) using the software bear(s) all
  109. risk as to the quality and performance of the software.  Use of this
  110. software assumes acceptance of this statement.  This warranty is governed by
  111. the laws of the State of New Mexico.
  112.  
  113.  
  114.  
  115. ┌───────────────────────────────────────────────────────────────────────────┐
  116. │░░░▒▒▒▓▓▓███                 License Agreement                 ███▓▓▓▒▒▒░░░│
  117. └───────────────────────────────────────────────────────────────────────────┘
  118.  
  119. This software is distributed under the shareware concept.  It is NOT in the
  120. public domain and is NOT freeware.  After a reasonable trial period, which
  121. we consider to be 30 days, you MUST register or remove it from use.  Any
  122. program using the unregistered version of RIPlink may NOT be distributed or
  123. sold under ANY circumstances at any time.  This includes, but is not limited
  124. to, private or pre-release distribution and public distribution.  RIPlink
  125. may only be used in the production of door programs.  It may NOT be used for
  126. terminal programs, comm programs or BBS packages.  Exceptions to this must
  127. be in writing from InterProgramming.  RIPlink may NOT be used in the
  128. creation of another toolkit.  One registered copy of RIPlink is required for
  129. each programmer who uses RIPlink.
  130.  
  131. This toolkit and all related programs and documentation are:
  132.   Copyright (C) 1994 by Thomas E. Morgan and InterProgramming,
  133.   All Rights Reserved.
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. ┌───────────────────────────────────────────────────────────────────────────┐
  141. │ RIPlink - Version 1.10                                             Page 4 │
  142. └───────────────────────────────────────────────────────────────────────────┘
  143.  
  144. ┌───────────────────────────────────────────────────────────────────────────┐
  145. │░░░▒▒▒▓▓▓███             Registration Information              ███▓▓▓▒▒▒░░░│
  146. └───────────────────────────────────────────────────────────────────────────┘
  147.  
  148. The unregistered version will either display a short unregistered message
  149. and pause for 10 seconds or will require that you enter a random number at
  150. the local keyboard.  Information on this is provided below.  When you
  151. register, you wil receive a registered copy of RIPlink and a personalized
  152. registration code.  Prices are subject to change without notice.
  153. For your convenience, this form is also provided in the file RIPLINK.REG.
  154.  
  155.  
  156.  -------------------<Cut Here>-----------------------------------------------
  157.  
  158.  
  159.  
  160.  Name        :_____________________________________    RIPlink version 1.10
  161.  
  162.  Company     :_____________________________________    +-------------------+
  163.                                                        |  Office use only  |
  164.  Address 1   :_____________________________________    |                   |
  165.                                                        | Rcvd:             |
  166.  Address 2   :_____________________________________    |  Amt:             |
  167.                                                        | Sent:             |
  168.  City/St/Prov:_____________________________________    |   Dt:             |
  169.                                                        +-------------------+
  170.  Postal Code :___________________     Voice Number:_______________
  171.  
  172.  Country     :___________________     Data Number :_______________
  173.  
  174.                                       Fax Number  :_______________
  175.  
  176.  E-Mail Addresses:__________________________________________________________
  177.  
  178.  Where did you obtain RIPlink? _____________________________________________
  179.  
  180.  Compiler/Version:__________________________________________________________
  181.  
  182.  Comments, suggestions, bug reports, etc (use reverse side if necessary):
  183.  
  184.  ___________________________________________________________________________
  185.  
  186.  ___________________________________________________________________________
  187.  
  188.  ___________________________________________________________________________
  189.  
  190.  ___________________________________________________________________________
  191.  
  192.  ___________________________________________________________________________
  193.  
  194.  ___________________________________________________________________________
  195.  
  196.  
  197.  
  198.  
  199.  
  200. ┌───────────────────────────────────────────────────────────────────────────┐
  201. │ RIPlink - Version 1.10                                             Page 5 │
  202. └───────────────────────────────────────────────────────────────────────────┘
  203.  
  204.  (Remember, one copy is required for each programmer that uses RIPlink)
  205.  RIPlink without source code is $35.00.  RIPlink with source code is $75.00.
  206.  
  207.  If you would like RIPlink without source, enter $35.00 here ---+
  208.                                                                 +--> _______
  209.  If you would like RIPlink with source code, enter $75.00 here -+
  210.  
  211.                                   Enter number of copies here -->  X _______
  212.  
  213.                                                     Total Enclosed = _______
  214.  
  215.  In order to obtain your personalized registered copy of RIPlink,
  216.  you have the choice of calling our support BBS to download it, or
  217.  having it sent via FidoNet.   Select your preference:
  218.  
  219.  [ ] I'll download it.
  220.  [ ] Please send it to me via FidoNet.
  221.  
  222.  If you would like us to send you a letter informing you when your
  223.  registered version is ready for you to download, please include a
  224.  self-addressed, stamped envelope.
  225.  
  226.  
  227.  If you are ordering the source code, please complete the following section.
  228.  
  229.  
  230.  I, _________________, hereby agree not to release or share any of RIPlink's
  231.  source code provided to me by InterProgramming.  I also agree not to remove
  232.  or obscure the InterProgramming copyright notices.
  233.  
  234.  
  235.  Signed: ________________________________   Date: ___________
  236.  
  237.  
  238.  
  239.  -------------------<Cut Here>-----------------------------------------------
  240.  
  241.  
  242. Send this order form along with a check or money order in US funds drawn on
  243. a US bank to:
  244.                InterProgramming
  245.                P.O. Box 92461
  246.                Albuquerque, NM  87199-2461
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253. ┌───────────────────────────────────────────────────────────────────────────┐
  254. │ RIPlink - Version 1.10                                             Page 6 │
  255. └───────────────────────────────────────────────────────────────────────────┘
  256.  
  257. ┌───────────────────────────────────────────────────────────────────────────┐
  258. │░░░▒▒▒▓▓▓███         General Information about RIPlink         ███▓▓▓▒▒▒░░░│
  259. └───────────────────────────────────────────────────────────────────────────┘
  260.  
  261. RIPlink is based off of the Borland Graphics Interface (BGI).  The .BGI and
  262. .CHR files are NOT included with the archive.  Information on obtaining them
  263. if you need some or all of them is given above (Section: Distribution and
  264. Support.)
  265.  
  266. RIPlink provides RIPscrip support in two ways.  One is an internal support
  267. with various procedures that will translate the given parameters to RIPscrip 
  268. commands and send them to the remote side as well and interpret them 
  269. locally.  The other option is to have RIPlink read in an external .RIP file.  
  270. It will then parse and display the RIP screen locally and will optionally 
  271. send the commands to the remote side.  Because RIPlink is still under
  272. development, it does not fully support all of the commands that make up
  273. RIPscrip.  It also has no interactive ability for the Sysop.  It will
  274. display the graphics, but will not do mouse support, etc.  This may be added
  275. in a future release.
  276.  
  277. RIPlink is an Object Oriented toolkit.  Although not everyone is familiar 
  278. with OOP programming, we feel that the provided examples should be enough to
  279. fully use RIPlink.  If you have difficulty, support is available from the
  280. locations listed above (Section: Distribution and Support.)
  281.  
  282. The RIPscrip commands that require that the remote terminal return a value 
  283. must be handled with care.  RIPlink will only send the codes.  It will NOT
  284. wait for the returned information; this is left up to the programmer.
  285.  
  286. If you are looking for more information regarding the RIPscrip standard, it 
  287. is highly suggested that you obtain and read the RIPscrip specification
  288. document.  As of this release, the latest version is 1.54.00.
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295. ┌───────────────────────────────────────────────────────────────────────────┐
  296. │ RIPlink - Version 1.10                                             Page 7 │
  297. └───────────────────────────────────────────────────────────────────────────┘
  298.  
  299. ┌───────────────────────────────────────────────────────────────────────────┐
  300. │░░░▒▒▒▓▓▓███             Installation Information              ███▓▓▓▒▒▒░░░│
  301. └───────────────────────────────────────────────────────────────────────────┘
  302.  
  303. As mentioned above, RIPlink has several different versions.  The following
  304. information refers to the different models of RIPlink (EXTernal, INTernal,
  305. and ALL.)  Please note that TP 5.5 does not have the ALL model.
  306.  
  307. As mentioned above, RIPlink has several different versions.  You will need
  308. to install the version(s) that best fit your needs.  For large applications,
  309. we suggest that you use the EXTernal version.  For smaller applications, the
  310. ALL version is useful as it combines all the code into one executable with
  311. requiring external driver files.  The INTernal version is best used when you
  312. only need the basic five fonts (0-4).  Please note that TP 5.5 does not
  313. support the ALL model.  The file names in each version are the same, so
  314. don't attempt to install more than one version in a directory.  Please also
  315. note that RIPlink relies upon the GRAPH unit provided with TP.  Make sure
  316. that RIPlink has easy access to the GRAPH unit and the appropriate driver
  317. files as necessary.
  318.  
  319. The installation itself is fairly simple.  Once you have chosen the version
  320. which will best serve your needs, unarchive the appropriate file and place
  321. the files in one directory.  Then tell TP where to look for the files.  In
  322. TP 6.0 and 7.0, this is under Options.Directories.Unit_Directories.
  323.  
  324. As an introduction to RIPlink we suggest working with RIPDOOR until it is 
  325. properly interfacing with the door toolkit.  Then move on to using RIPlink 
  326. in your own projects.
  327.  
  328.  
  329.  
  330. ┌───────────────────────────────────────────────────────────────────────────┐
  331. │░░░▒▒▒▓▓▓███             Basic Memory Requirements             ███▓▓▓▒▒▒░░░│
  332. └───────────────────────────────────────────────────────────────────────────┘
  333.  
  334. The following memory requirements are based on information gathered from 
  335. RIPDOOR under TP7.  They may vary from version to version and from 
  336. application to application.
  337.  
  338. No Internal Drivers (Ext): 161k
  339. Basic 5 Internal    (Int): 193k
  340. Extended Drivers    (All): 266k
  341.  
  342. Please note that these figures are from our testing here at InterProgramming
  343. and will not necessarily match your results.
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350. ┌───────────────────────────────────────────────────────────────────────────┐
  351. │ RIPlink - Version 1.10                                             Page 8 │
  352. └───────────────────────────────────────────────────────────────────────────┘
  353.  
  354. ┌───────────────────────────────────────────────────────────────────────────┐
  355. │░░░▒▒▒▓▓▓███          Interfacing with Door Toolkits           ███▓▓▓▒▒▒░░░│
  356. └───────────────────────────────────────────────────────────────────────────┘
  357.  
  358. RIPlink has no internal comm routine support.  Instead, RIPlink must be 
  359. given information about your existing comm routines whether they are a 3rd 
  360. party toolkit, or your own routines.  This section will explain how to set 
  361. up RIPlink and your comm routines so that they will talk to each other.  
  362. Because of the OOP structure of RIPlink, we can simply override one of 
  363. RIPlink's procedures to call the appropriate procedure(s) in the comm
  364. routines.  This is done by first creating a descendent of the RIPlink 
  365. object:
  366.  
  367.   RIPtr = ^RIPObject;
  368.   RIPObject = object(RIPObj)
  369.     Procedure SendStr(instr : string); virtual;
  370.   end;
  371.  
  372. Now, the SendStr procedure just needs to be overriden so that it will call
  373. the proper procedure to send strings over the modem.
  374.  
  375.   Procedure RIPObject.SendStr(instr : string);
  376.   begin
  377.     DisplayRemote(instr+#13#10);
  378.   end;
  379.  
  380. This procedure calls the procedure DisplayRemote and sends it the string to 
  381. send over the modem.  Notice that the procedure appends a CRLF (#13#10) to 
  382. the end of the string.  Because some comm routines send a CRLF 
  383. automatically, we have left it up to the individual programmer to handle.  
  384. This is so the CRLF doesn't end up getting sent twice.  DisplayRemote will
  385. be different for each set of comm routines, and mostly likely will have a 
  386. different name.  Also, the procedure you call MUST NOT send the characters
  387. to the local console.  If it does send the characters to the local console,
  388. RIPlink's support to send RIP codes to the user and let the Sysop still use
  389. ANSI will be void.  In this example, DisplayRemote takes the string and 
  390. sends the characters directly to the user.  It does not display anything on
  391. the local screen at all.
  392.  
  393. The next item that must be dealt with is handling the status line.  The code 
  394. necessary to override the Status Line may be easy or difficult depending on 
  395. the nature of your comm toolkit.  Of course, with the source code to the 
  396. toolkit, it's not that difficult.  If you have trouble, contact us and we'll 
  397. be happy help you.  What must be done is to override or change the existing
  398. status line procedure such that it calls RIPlink's status line procedure.
  399. It ALSO must fill in the string variable:
  400.  
  401.   RipObj.StatText  : String[75];
  402.  
  403. This variable tells RIPlink what text to display.  Please note that the 
  404. override should ONLY be called if the Sysop wants RIP.  The status line has
  405.  
  406.  
  407.  
  408.  
  409.  
  410. ┌───────────────────────────────────────────────────────────────────────────┐
  411. │ RIPlink - Version 1.10                                             Page 9 │
  412. └───────────────────────────────────────────────────────────────────────────┘
  413.  
  414. no effect on the user's side.  Here is an example procedure that gets called
  415. from a door toolkit.  Note that this procedure then calls RIPlink's StatLine
  416. procedure.
  417.  
  418. Procedure StatusL; far;
  419. begin
  420.   RIP^.StatText := UserName+', '+baud+', Time: '+inttostr(timeremaining);
  421.   RIP^.StatLine;
  422. end;
  423.  
  424. This is a simple example which just sets the string variable and then calls 
  425. StatLine to display the text.
  426.  
  427. There is a full example of how to override everything mentioned in this 
  428. section in the file RIPDOOR.PAS.
  429.  
  430.  
  431.  
  432. ┌───────────────────────────────────────────────────────────────────────────┐
  433. │░░░▒▒▒▓▓▓███              Definitions: Constants               ███▓▓▓▒▒▒░░░│
  434. └───────────────────────────────────────────────────────────────────────────┘
  435.  
  436. MegaArray : array[0..35] of Char = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  437.  
  438. Although this probably won't be useful, it is listed here in case you choose
  439. to write your own procedures to convert Decimal to/from MegaNums.  MegaNums 
  440. are the number system used with all RIPscrip commands.  MegaNum is the 
  441. shortened name for HexaTriDeciaml.  MegaNums are a base-36 number system
  442. with digits ranging from 0-9,A-Z.
  443.  
  444.  
  445.  
  446.  
  447.  
  448. ┌───────────────────────────────────────────────────────────────────────────┐
  449. │ RIPlink - Version 1.10                                            Page 10 │
  450. └───────────────────────────────────────────────────────────────────────────┘
  451.  
  452. ┌───────────────────────────────────────────────────────────────────────────┐
  453. │░░░▒▒▒▓▓▓███                Definitions: Types                 ███▓▓▓▒▒▒░░░│
  454. └───────────────────────────────────────────────────────────────────────────┘
  455.  
  456. These are just typical string constants that RIPlink uses:
  457.   Str2          = string[2];
  458.   Str4          = string[4];
  459.   Str12         = string[12];
  460.  
  461. This record is used for the various polygon related procedures.  Details 
  462. will be given in the procedures.
  463.   PointRec = record
  464.     X : word;
  465.     Y : word;
  466.   end;
  467.  
  468. This is the Root object.  It serves no purpose except to be inherited by the
  469. RIPlink object.
  470.   RootPtr = ^Root;
  471.   Root = object
  472.     constructor Init;
  473.     destructor Done; virtual;
  474.   end;
  475.  
  476. This is the RIPlink object.  Each part is covered in a later section.  
  477. Please note that all parameters are in Decimal, NOT MegaNums.  RIPlink does 
  478. the conversion for you.
  479.   RipPtr = ^RipObj;
  480.   RipObj = object(Root)
  481.     IconDir   : DirStr;
  482.     StatText  : String[75];
  483.     LocalRip  : Boolean;
  484.  
  485.     Constructor Init(UseRip : boolean);
  486.     Function    WordToMega(Num : word) : str2;
  487.     Function    WordToMega4(Num : word) : str4;
  488.     Function    MegaToWord(S2 : str2) : word;
  489.     Function    Mega4ToLong(S4 : Str4) : Longint;
  490.     Procedure   RipTextWindow(x0,y0,x1,y1: byte; wrap: boolean; size: byte);
  491.     Procedure   RipViewPort(x0,y0,x1,y1 : word);
  492.     Procedure   RipResetWindows;
  493.     Procedure   RipEraseWindow;
  494.     Procedure   RipEraseView;
  495.     Procedure   RipGotoXY(x0,y0 : byte);
  496.     Procedure   RipHome;
  497.     Procedure   RipEraseEOL;
  498.     Procedure   RipColor(clr : byte);
  499.     Procedure   RipSetPalette(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,
  500.                   c14,c15,c16 : word);
  501.     Procedure   RipOnePalette(color,value : word);
  502.     Procedure   RipWriteMode(mode : byte);
  503.     Procedure   RipMove(x0,y0 : word);
  504.     Procedure   RipText(instr : string);
  505.  
  506.  
  507.  
  508.  
  509.  
  510. ┌───────────────────────────────────────────────────────────────────────────┐
  511. │ RIPlink - Version 1.10                                            Page 11 │
  512. └───────────────────────────────────────────────────────────────────────────┘
  513.  
  514.     Procedure   RipTextXY(x0,y0 : word; instr : string);
  515.     Procedure   RipFontStyle(font, direct, size : byte);
  516.     Procedure   RipPixel(x0,y0 : word);
  517.     Procedure   RipLine(x0,y0,x1,y1 : word);
  518.     Procedure   RipRectangle(x0,y0,x1,y1 : word);
  519.     Procedure   RipBar(x0,y0,x1,y1 : word);
  520.     Procedure   RipCircle(x0,y0,radius : word);
  521.     Procedure   RipOval(x0,y0,stangle,endangle,xrad,yrad : word);
  522.     Procedure   RipFilledOval(x0,y0,xrad,yrad : word);
  523.     Procedure   RipArc(x0,y0,stangle,endangle,rad : word);
  524.     Procedure   RipOvalArc(x0,y0,stangle,endangle,xrad,yrad : word);
  525.     Procedure   RipPieSlice(x0,y0,stangle,endangle,rad : word);
  526.     Procedure   RipOvalPieSlice(x0,y0,stangle,endangle,radx,rady : word);
  527.     Procedure   RipBezier(x0,y0,x1,y1,x2,y2,x3,y3,count : word);
  528.     Procedure   RipPolygon(numpoints : word; var polypoints);
  529.     Procedure   RipFillPoly(numpoints : word; var polypoints);
  530.     Procedure   RipFill(x0,y0,border : word);
  531.     Procedure   RipLineStyle(style,pattern,thick : word);
  532.     Procedure   RipFillStyle(style,color : word);
  533.     Procedure   RipFillPattern(pattern : fpt; color : word);
  534.     Procedure   RipMouse(x0,y0,x1,y1 : word; click, clear : boolean;
  535.                   instr : string);
  536.     Procedure   RipKillMouseFields;
  537.     Procedure   RipBeginText(x0,y0,x1,y1 : word);
  538.     Procedure   RipRegionText(Justify : boolean; instr : string);
  539.     Procedure   RipEndText;
  540.     Procedure   RipGetImage(x0,y0,x1,y1 : word);
  541.     Procedure   RipPutImage(x0,y0,mode : word);
  542.     Procedure   RipWriteIcon(fname : str12);
  543.     Procedure   RipLoadIcon(x0,y0,mode : word; clipbrd : boolean;
  544.                   fname : str12);
  545.     Procedure   RipButtonStyle(wid,hgt,orient,flags,bevsize,dfore,dback,
  546.                   bright,dark,surface,grp_no,flags2,uline_col,
  547.                   corner_col : word);
  548.     Procedure   RipButton(x0,y0,x1,y1,hotkey : word; flags : byte;
  549.                   icon : str12; sLabel : string; Cmd : string);
  550.     Procedure   RipDefine(flags : word; textvar : str12; width : byte; ques,
  551.                   default : string);
  552.     Procedure   RipQuery(mode : byte; instr : string);
  553.     Procedure   RipCopyRegion(x0,y0,x1,y1,destline : word);
  554.     Procedure   RipReadScene(fname : str12);
  555.     Procedure   RipFileQuery(mode : word; fname : str12);
  556.     Procedure   RipEnterBlockMode(ul : boolean; proto,ftype : word;
  557.                   fname : str12);
  558.     Procedure   RipNoMore;
  559.     Procedure   SendStr(instr : string); virtual;
  560.     Procedure   StatLine;
  561.     Destructor  Done; virtual;
  562.     Function    DisplayRIPfile(Path : string): boolean;
  563.     Procedure   ParseRip(c : char; sendchar : boolean);
  564.   end;
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571. ┌───────────────────────────────────────────────────────────────────────────┐
  572. │ RIPlink - Version 1.10                                            Page 12 │
  573. └───────────────────────────────────────────────────────────────────────────┘
  574.  
  575. ┌───────────────────────────────────────────────────────────────────────────┐
  576. │░░░▒▒▒▓▓▓███              Definitions: Variables               ███▓▓▓▒▒▒░░░│
  577. └───────────────────────────────────────────────────────────────────────────┘
  578.  
  579.   RipObj.IconDir   : DirStr;
  580. This is the directory RIPlink will look in for *.ICN files.  If it's not
  581. defined, it will default to the current directory.
  582.  
  583.   RipObj.StatText  : String[75];
  584. This is the string which contains the text to display on the status line.
  585.  
  586.   RipObj.LocalRip  : Boolean;
  587. If this is true, then RIPlink will display graphics locally.  If it's false,
  588. then RIPlink will only send RIP codes to the remote side.
  589.  
  590.  
  591.  
  592. ┌───────────────────────────────────────────────────────────────────────────┐
  593. │░░░▒▒▒▓▓▓███  Definitions: Procedures, Functions, and Methods  ███▓▓▓▒▒▒░░░│
  594. └───────────────────────────────────────────────────────────────────────────┘
  595.  
  596. Init constructor
  597. ─────────────────────────────────────────────────────────────────────────────
  598. Purpose    : Initializes the RIPlink Object
  599.  
  600. Declaration: Init(UseRip : Boolean);
  601.  
  602. Variables  : UseRip     : Display graphics locally
  603.  
  604.  
  605.  
  606. WordToMega function
  607. ─────────────────────────────────────────────────────────────────────────────
  608. Purpose    : Convert a Word to a MegaNum
  609.  
  610. Declaration: WordToMega(Num : word) : Str2;
  611.  
  612. Returns    : 2 Digit MegaNum
  613.  
  614. Variables  : Num        : Decimal number to convert
  615.  
  616. Notes      : A MegaNum is RIPscrip's number format.  This function is mostly 
  617.              used internally to RIPlink, but is provided here in case you 
  618.              find a use for it.  Note that the word must not be larger at 
  619.              1295 as that is the maximum for a 2 digit meganum.  If your
  620.              word is 1296 or larger, use the WordToMega4 function described
  621.              below.
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628. ┌───────────────────────────────────────────────────────────────────────────┐
  629. │ RIPlink - Version 1.10                                            Page 13 │
  630. └───────────────────────────────────────────────────────────────────────────┘
  631.  
  632. WordToMega4 function
  633. ─────────────────────────────────────────────────────────────────────────────
  634. Purpose    : Convert a Word to a 4 digit MegaNum
  635.  
  636. Declaration: WordToMega4(Num : Word) : Str4;
  637.  
  638. Returns    : 4 Digit MegaNum
  639.  
  640. Variables  : Num        : Decimal number to convert
  641.  
  642. Notes      : This function operates just like the WordToMega function.  The 
  643.              only difference is in the length of the meganum returned.
  644.  
  645.  
  646.  
  647. MegaToWord function
  648. ─────────────────────────────────────────────────────────────────────────────
  649. Purpose    : Convert a MegaNum to a Word
  650.  
  651. Declaration: MegaToWord(S2 : Str2) : Word;
  652.  
  653. Returns    : Word
  654.  
  655. Variables  : S2         : 2 Digit MegaNum
  656.  
  657. Notes      : This function turns a 2 digit meganum into a word.
  658.  
  659.  
  660.  
  661. Mega4ToLong function
  662. ─────────────────────────────────────────────────────────────────────────────
  663. Purpose    : Convert a 4 digit MegaNum to a Longint
  664.  
  665. Declaration: Mega4ToLong(S4 : Str4) : Longint;
  666.  
  667. Returns    : Longint
  668.  
  669. Variables  : S4         : 4 Digit MegaNum
  670.  
  671. Notes      : This takes a 4 digit meganum and turns it into a longint.
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678. ┌───────────────────────────────────────────────────────────────────────────┐
  679. │ RIPlink - Version 1.10                                            Page 14 │
  680. └───────────────────────────────────────────────────────────────────────────┘
  681.  
  682. RipTextWindow procedure
  683. ─────────────────────────────────────────────────────────────────────────────
  684. Purpose    : Define the text window
  685.  
  686. Declaration: RipTextWindow(x0,y0,x1,y1 : Byte; Wrap : Boolean; Size : Byte);
  687.  
  688. Support    : Send only
  689.  
  690. Variables  : x0,y0      : Upper lefthand coordinates
  691.              x1,y1      : Lower righthand coordinates
  692.              Wrap       : Wrap text at right edge?
  693.              Size       : Size of characters (see char)
  694.  
  695.              Size   Font Size   X Range  Y Range
  696.              ───────────────────────────────────
  697.              0     8x8          0-79     0-42
  698.              1     7x8          0-90     0-42
  699.              2     8x14         0-79     0-24
  700.              3     7x14         0-90     0-24
  701.              4     16x14        0-39     0-24
  702.  
  703.  
  704.  
  705. RipViewPort procedure
  706. ─────────────────────────────────────────────────────────────────────────────
  707. Purpose    : Define the view port
  708.              
  709. Declaration: RipViewPort(x0,y0,x1,y1 : Word);
  710.  
  711. Support    : Send and process
  712.  
  713. Variables  : x0,y0      : Upper lefthand coordinates
  714.              x1,y1      : Lower righthand coordinates
  715.  
  716.  
  717.  
  718. RipResetWindows procedure
  719. ─────────────────────────────────────────────────────────────────────────────
  720. Purpose    : Reset the RIP screen, mouse, buttons, etc.
  721.  
  722. Declaration: RipResetWindows;
  723.  
  724. Support    : Send and process
  725.  
  726. Notes      : This is a "reset button" for RIPscrip.  Everything is returned
  727.              to its default state when this is called.  This includes view
  728.              port, text screen, mouse regions, palettes, etc.
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735. ┌───────────────────────────────────────────────────────────────────────────┐
  736. │ RIPlink - Version 1.10                                            Page 15 │
  737. └───────────────────────────────────────────────────────────────────────────┘
  738.  
  739. RipEraseWindow procedure
  740. ─────────────────────────────────────────────────────────────────────────────
  741. Purpose    : Erase text window
  742.  
  743. Declaration: RipEraseWindow;
  744.  
  745. Support    : Send only
  746.  
  747.  
  748.  
  749. RipEraseView procedure
  750. ─────────────────────────────────────────────────────────────────────────────
  751. Purpose    : Erase view port
  752.  
  753. Declaration: RipEraseView;
  754.  
  755. Support    : Send and process
  756.  
  757.  
  758.  
  759. RipGotoXY procedure
  760. ─────────────────────────────────────────────────────────────────────────────
  761. Purpose    : Move text cursor
  762.  
  763. Declaration: RipGotoXY(x0,y0 : Byte);
  764.  
  765. Support    : Send only
  766.  
  767. Variables  : x0,y0      : Location to move text cursor to
  768.  
  769.  
  770.  
  771. RipHome procedure
  772. ─────────────────────────────────────────────────────────────────────────────
  773. Purpose    : Home the text cursor
  774.  
  775. Declaration: RipHome;
  776.  
  777. Support    : Send only
  778.  
  779. Notes      : This moves the text cursor to the upper lefthand corner of the
  780.              text window.
  781.  
  782.  
  783.  
  784. RipEraseEOL procedure
  785. ─────────────────────────────────────────────────────────────────────────────
  786. Purpose    : Erase to the End of Line (text)
  787.  
  788. Declaration: RipEraseEOL;
  789.  
  790. Support    : Send only
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797. ┌───────────────────────────────────────────────────────────────────────────┐
  798. │ RIPlink - Version 1.10                                            Page 16 │
  799. └───────────────────────────────────────────────────────────────────────────┘
  800.  
  801. RipColor procedure
  802. ─────────────────────────────────────────────────────────────────────────────
  803. Purpose    : Set drawing color
  804.  
  805. Declaration: RipColor(Clr : Byte);
  806.  
  807. Support    : Send and process
  808.  
  809. Variables  : Clr        : New drawing color (see char)
  810.  
  811.              Value   Color
  812.              ─────────────────────────────────────────────────
  813.              00      Black (00 is always the background color)
  814.              01      Blue
  815.              02      Green
  816.              03      Cyan
  817.              04      Red
  818.              05      Magenta
  819.              06      Brown
  820.              07      Light Gray
  821.              08      Dark Gray
  822.              09      Light Blue
  823.              10      Light Green
  824.              11      Light Cyan
  825.              12      Light Red
  826.              13      Light Magenta
  827.              14      Yellow
  828.              15      White
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835. ┌───────────────────────────────────────────────────────────────────────────┐
  836. │ RIPlink - Version 1.10                                            Page 17 │
  837. └───────────────────────────────────────────────────────────────────────────┘
  838.  
  839. RipSetPalette procedure
  840. ─────────────────────────────────────────────────────────────────────────────
  841. Purpose    : Set 16 color palette
  842.  
  843. Declaration: RipSetPalette(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,
  844.              c15,c16 : Word);
  845.  
  846. Support    : Send and process
  847.  
  848. Variables  : c1..c16    : Each color in the palette (see chart)
  849.  
  850.              RIP Palette   Master Palette
  851.              Color Code      Color Code      Color
  852.              ───────────────────────────────────────────────
  853.                01 (00)          0            Black
  854.                02 (01)          1            Blue
  855.                03 (02)          2            Green
  856.                04 (03)          3            Cyan
  857.                05 (04)          4            Red
  858.                06 (05)          5            Magenta
  859.                07 (06)          7            Brown
  860.                08 (07)          20           Light Gray
  861.                09 (08)          56           Dark Gray
  862.                10 (09)          57           Light Blue
  863.                11 (10)          58           Light Green
  864.                12 (11)          59           Light Cyan
  865.                13 (12)          60           Light Red
  866.                14 (13)          61           Light Magenta
  867.                15 (14)          62           Yellow
  868.                16 (15)          63           White
  869.  
  870.              This chart lists the default colors.
  871.  
  872.  
  873.  
  874. RipOnePalette procedure
  875. ─────────────────────────────────────────────────────────────────────────────
  876. Purpose    : Set one color in the palette
  877.  
  878. Declaration: RipOnePalette(Color,Value : Word);
  879.  
  880. Support    : Send and process
  881.  
  882. Variables  : Color      : Which color to change (0-15)
  883.              Value      : New color for palette (0-63) (see chart above)
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890. ┌───────────────────────────────────────────────────────────────────────────┐
  891. │ RIPlink - Version 1.10                                            Page 18 │
  892. └───────────────────────────────────────────────────────────────────────────┘
  893.  
  894. RipWriteMode procedure
  895. ─────────────────────────────────────────────────────────────────────────────
  896. Purpose    : Set the write mode
  897.  
  898. Declaration: RipWriteMode(Mode : Byte);
  899.  
  900. Support    : Send and process
  901.  
  902. Variables  : Mode       : New write mode (see chart)
  903.  
  904.              Mode   Description
  905.              ──────────────────────────────────────
  906.              00     Normal drawing mode (overwrite)
  907.              01     XOR (complimentary) mode
  908.  
  909.  
  910.  
  911. RipMove procedure
  912. ─────────────────────────────────────────────────────────────────────────────
  913. Purpose    : Move the Current Pointer (CP)
  914.  
  915. Declaration: RipMove(x0,y0 : Word);
  916.  
  917. Support    : Send and process
  918.  
  919. Variables  : x0,y0      : Location to move to
  920.  
  921. Notes      : This procedure is used to move the graphics pointer, also known
  922.              as the current pointer (CP).
  923.  
  924.  
  925.  
  926. RipText procedure
  927. ─────────────────────────────────────────────────────────────────────────────
  928. Purpose    : Write text at CP
  929.  
  930. Declaration: RipText(InStr : String);
  931.  
  932. Support    : Send and process
  933.  
  934. Variables  : InStr      : String to write
  935.  
  936. Notes      : This procedure write "graphics" text.  The text is written in a
  937.              font in the view port.  This text does not go into the text
  938.              window.
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945. ┌───────────────────────────────────────────────────────────────────────────┐
  946. │ RIPlink - Version 1.10                                            Page 19 │
  947. └───────────────────────────────────────────────────────────────────────────┘
  948.  
  949. RipTextXY procedure
  950. ─────────────────────────────────────────────────────────────────────────────
  951. Purpose    : Write text at a specified location
  952.  
  953. Declaration: RipTextXY(x0,y0 : Word; InStr : String);
  954.  
  955. Support    : Send and process
  956.  
  957. Variables  : x0,y0      : Location to start writing text at
  958.              InStr      : String to write
  959.  
  960. Notes      : This procedure is really a combination of the RipMove procedure
  961.              and the RipText procedure.  As in RipText, this text is
  962.              "graphics" text.
  963.  
  964.  
  965.  
  966. RipFontStyle procedure
  967. ─────────────────────────────────────────────────────────────────────────────
  968. Purpose    : Set font type, direction, and size
  969.  
  970. Declaration: RipFontStyle(Font, Direct, Size : Byte);
  971.  
  972. Support    : Send and process
  973.  
  974. Variables  : Font       : Font to use (see chart)
  975.              Direct     : Direction of text (see chart)
  976.              Size       : Size of font (1-10)
  977.  
  978.              Font   Description of Font
  979.              ────────────────────────────────
  980.              00     Default 8x8 font
  981.              01     Triplex Font
  982.              02     Small Font
  983.              03     Sans Serif Font
  984.              04     Gothic [Old English] Font
  985.              05     Script Font
  986.              06     Simplex Font
  987.              07     Triplex Script Font
  988.              08     Complex Font
  989.              09     European Font
  990.              10     Bold Font
  991.  
  992.              Value   Direction
  993.              ──────────────────
  994.              00      Horizontal
  995.              01      Vertical
  996.  
  997. Notes      : Except for font 0, all fonts are scalable.  Font 0 is
  998.              bit-mapped and looks best in size 1.  Fonts 0-4 are the
  999.              standard fonts.  Fonts 5-10 are only available in the RIP 1.53+
  1000.              version.  Font sizes may range from 1 to 10.
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007. ┌───────────────────────────────────────────────────────────────────────────┐
  1008. │ RIPlink - Version 1.10                                            Page 20 │
  1009. └───────────────────────────────────────────────────────────────────────────┘
  1010.  
  1011. RipPixel procedure
  1012. ─────────────────────────────────────────────────────────────────────────────
  1013. Purpose    : Draw a pixel in current drawing color
  1014.  
  1015. Declaration: RipPixel(x0,y0 : Word);
  1016.  
  1017. Support    : Send and process
  1018.  
  1019. Variables  : x0,y0      : Location to put pixel
  1020.  
  1021.  
  1022.  
  1023. RipLine procedure
  1024. ─────────────────────────────────────────────────────────────────────────────
  1025. Purpose    : Draw a line
  1026.  
  1027. Declaration: RipLine(x0,y0,x1,y1 : Word);
  1028.  
  1029. Support    : Send and process
  1030.  
  1031. Variables  : x0,y0      : Beginning of the line
  1032.              x1,y1      : End of the line
  1033.  
  1034.  
  1035.  
  1036. RipRectangle procedure
  1037. ─────────────────────────────────────────────────────────────────────────────
  1038. Purpose    : Draw a rectangle
  1039.  
  1040. Declaration: RipRectangle(x0,y0,x1,y1 : Word);
  1041.  
  1042. Support    : Send and process
  1043.  
  1044. Variables  : x0,y0      : Upper lefthand corner of rectangle
  1045.              x1,y1      : Lower righthand corner of rectangle
  1046.  
  1047.  
  1048.  
  1049. RipBar procedure
  1050. ─────────────────────────────────────────────────────────────────────────────
  1051. Purpose    : Draw a rectangle and fill it
  1052.  
  1053. Declaration: RipBar(x0,y0,x1,y1 : Word);
  1054.  
  1055. Support    : Send and process
  1056.  
  1057. Variables  : x0,y0      : Upper lefthand corner of rectangle
  1058.              x1,y1      : Lower righthand corner of rectangle
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065. ┌───────────────────────────────────────────────────────────────────────────┐
  1066. │ RIPlink - Version 1.10                                            Page 21 │
  1067. └───────────────────────────────────────────────────────────────────────────┘
  1068.  
  1069. RipCircle procedure
  1070. ─────────────────────────────────────────────────────────────────────────────
  1071. Purpose    : Draw a circle
  1072.  
  1073. Declaration: RipCircle(x0,y0,Radius : Word);
  1074.  
  1075. Support    : Send and process
  1076.  
  1077. Variables  : x0,y0      : Center of circle
  1078.              Radius     : Length of the radius of the circle
  1079.  
  1080.  
  1081.  
  1082. RipOval procedure
  1083. ─────────────────────────────────────────────────────────────────────────────
  1084. Purpose    : Draw an oval
  1085.  
  1086. Declaration: RipOval(x0,y0,StAngle,EndAngle,xRad,yRad : Word);
  1087.  
  1088. Support    : Send and process
  1089.  
  1090. Variables  : x0,y0      : Center of oval
  1091.              StAngle    : Starting angle (see diagram)
  1092.              EndAngle   : Ending angle (see diagram)
  1093.              xRad       : Length of horizontal axis
  1094.              yRad       : Length of vertical axis
  1095.  
  1096.                   90°
  1097.                    │
  1098.              180°──┼── 0°
  1099.                    │
  1100.                  270°
  1101.  
  1102. Notes      : A starting angle of 0 and an ending angle of 360 will draw a
  1103.              complete oval.  The angles go counter-clockwise starting at 3
  1104.              o'clock.
  1105.  
  1106.  
  1107.  
  1108. RipFilledOval procedure
  1109. ─────────────────────────────────────────────────────────────────────────────
  1110. Purpose    : Draw an oval and fill it
  1111.  
  1112. Declaration: RipFilledOval(x0,y0,xRad,yRad : Word);
  1113.  
  1114. Support    : Send and process
  1115.  
  1116. Variables  : x0,y0      : Center of oval
  1117.              xRad       : Length of horizontal axis
  1118.              yRad       : Length of vertical axis
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125. ┌───────────────────────────────────────────────────────────────────────────┐
  1126. │ RIPlink - Version 1.10                                            Page 22 │
  1127. └───────────────────────────────────────────────────────────────────────────┘
  1128.  
  1129. RipArc procedure
  1130. ─────────────────────────────────────────────────────────────────────────────
  1131. Purpose    : Draw a circular arc
  1132.  
  1133. Declaration: RipArc(x0,y0,StAngle,EndAngle,Rad : Word);
  1134.  
  1135. Support    : Send and process
  1136.  
  1137. Variables  : x0,y0      : Center of circle which the arc lies on
  1138.              StAngle    : Starting angle (see diagram in RipOval procedure)
  1139.              EndAngle   : Ending angle (see diagram in RipOval procedure)
  1140.              Rad        : Length of the radius of the circle which the arc
  1141.                           lies on
  1142.  
  1143.  
  1144.  
  1145. RipOvalArc procedure
  1146. ─────────────────────────────────────────────────────────────────────────────
  1147. Purpose    : Draw an oval arc
  1148.  
  1149. Declaration: RipOvalArc(x0,y0,StAngle,EndAngle,xRad,yRad : Word);
  1150.  
  1151. Support    : Send and process
  1152.  
  1153. Variables  : x0,y0      : Center of oval
  1154.              StAngle    : Starting angle (see diagram in RipOval procedure)
  1155.              EndAngle   : Ending angle (see diagram in RipOval procedure)
  1156.              xRad       : Length of horizontal axis
  1157.              yRad       : Length of vertical axis
  1158.  
  1159. Notes      : This procedure is identical to the RipOval procedure.  It is
  1160.              included here for completeness.
  1161.  
  1162.  
  1163.  
  1164. RipPieSlice procedure
  1165. ─────────────────────────────────────────────────────────────────────────────
  1166. Purpose    : Draw a pie slice
  1167.  
  1168. Declaration: RipPieSlice(x0,y0,StAngle,EndAngle,Rad : Word);
  1169.  
  1170. Support    : Send and process
  1171.  
  1172. Variables  : x0,y0      : Center of circle which the pie slice lies on
  1173.              StAngle    : Starting angle (see diagram in RipOval procedure)
  1174.              EndAngle   : Ending angle (see diagram in RipOval procedure)
  1175.              Rad        : Length of the radius of circle which the pie slice
  1176.                           lies on
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183. ┌───────────────────────────────────────────────────────────────────────────┐
  1184. │ RIPlink - Version 1.10                                            Page 23 │
  1185. └───────────────────────────────────────────────────────────────────────────┘
  1186.  
  1187. RipOvalPieSlice procedure
  1188. ─────────────────────────────────────────────────────────────────────────────
  1189. Purpose    : Draw an oval pie slice
  1190.  
  1191. Declaration: RipOvalPieSlice(x0,y0,StAngle,EndAngle,RadX,RadY:Word);
  1192.  
  1193. Support    : Send and process
  1194.  
  1195. Variables  : x0,y0      : Center of circle which the pie slice lies on
  1196.              StAngle    : Starting angle (see diagram in RipOval procedure)
  1197.              EndAngle   : Ending angle (see diagram in RipOval procedure)
  1198.              RadX       : Length of horizontal axis of oval which the pie
  1199.                           slice lies on
  1200.              RadY       : Length of vertical axis of oval which the pie
  1201.                           slice lies on
  1202.  
  1203.  
  1204.  
  1205. RipBezier procedure
  1206. ─────────────────────────────────────────────────────────────────────────────
  1207. Purpose    : Draw a bezier curve
  1208.  
  1209. Declaration: RipBezier(x0,y0,x1,y1,x2,y2,x3,y3,Count : Word);
  1210.  
  1211. Support    : Send only
  1212.  
  1213. Variables  : x0,y0      : Beginning point of the curve
  1214.              x1,y1      : Point that pulls the curve; not necessarily on the
  1215.                           curve
  1216.              x2,y2      : Point that pulls the curve; not necessarily on the
  1217.                           curve
  1218.              x3,y3      : Ending point of the curve
  1219.              Count      : Number of segments to draw the curve with
  1220.  
  1221.  
  1222.  
  1223. RipPolygon procedure
  1224. ─────────────────────────────────────────────────────────────────────────────
  1225. Purpose    : Draw a closed polygon
  1226.  
  1227. Declaration: RipPolygon(NumPoints : Word; Var PolyPoints);
  1228.  
  1229. Support    : Send and process
  1230.  
  1231. Variables  : NumPoints  : Number of points on the polygon
  1232.              PolyPoints : Array[1..NumPoints] of PointRec (defined under
  1233.                           Definitions: Types)
  1234.  
  1235. Notes      : PolyPoints is a variable array.  It may be anywhere from 2 to
  1236.              512 records (or points).
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243. ┌───────────────────────────────────────────────────────────────────────────┐
  1244. │ RIPlink - Version 1.10                                            Page 24 │
  1245. └───────────────────────────────────────────────────────────────────────────┘
  1246.  
  1247. RipFillPoly procedure
  1248. ─────────────────────────────────────────────────────────────────────────────
  1249. Purpose    : Draw a closed polygon and fill it
  1250.  
  1251. Declaration: RipFillPoly(NumPoints : Word; Var PolyPoints);
  1252.  
  1253. Support    : Send and process
  1254.  
  1255. Variables  : NumPoints  : Number of points on the polygon
  1256.              PolyPoints : See definition and notes under RipPolygon
  1257.  
  1258.  
  1259.  
  1260. RipFill procedure
  1261. ─────────────────────────────────────────────────────────────────────────────
  1262. Purpose    : Flood fill an area
  1263.  
  1264. Declaration: RipFill(x0,y0,Border : Word);
  1265.  
  1266. Support    : Send and process
  1267.  
  1268. Variables  : x0,y0      : A point in the area to fill
  1269.              Border     : The color of the border surrounding the area to be
  1270.                           filled
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277. ┌───────────────────────────────────────────────────────────────────────────┐
  1278. │ RIPlink - Version 1.10                                            Page 25 │
  1279. └───────────────────────────────────────────────────────────────────────────┘
  1280.  
  1281. RipLineStyle procedure
  1282. ─────────────────────────────────────────────────────────────────────────────
  1283. Purpose    : Set the line style, pattern, and thickness
  1284.  
  1285. Declaration: RipLineStyle(Style,Pattern,Thick : Word);
  1286.  
  1287. Support    : Send and process
  1288.  
  1289. Variables  : Style      : Line style (see chart)
  1290.              Pattern    : User defined pattern
  1291.              Thick      : Line thickness (see chart)
  1292.  
  1293.              Style   Description           Binary
  1294.              ──────────────────────────────────────────────
  1295.              00      Normal, Solid Line    1111111111111111
  1296.              01      Dotted Line           0011001100110011
  1297.              02      Centered Line         0001111000111111
  1298.              03      Dashed Line           0001111100011111
  1299.              04      Custom Defined line
  1300.  
  1301.              Thick   Description
  1302.              ───────────────────────────────
  1303.              01      Lines are 1 pixel wide
  1304.              03      Lines are 3 pixels wide
  1305.  
  1306. Notes      : If Style is 4, then the pattern is defined by the variable
  1307.              Pattern.  Pattern is a 16-bit representation of the pattern.
  1308.  
  1309.              Repeating Pattern   Binary Coding      Decimal
  1310.              ──────────────────────────────────────────────
  1311.              - - - - - - - -     1010101010101010   43690
  1312.              ----    ----        1111000011110000   61680
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319. ┌───────────────────────────────────────────────────────────────────────────┐
  1320. │ RIPlink - Version 1.10                                            Page 26 │
  1321. └───────────────────────────────────────────────────────────────────────────┘
  1322.  
  1323. RipFillStyle procedure
  1324. ─────────────────────────────────────────────────────────────────────────────
  1325. Purpose    : Set the fill style and color
  1326.  
  1327. Declaration: RipFillStyle(Style,Color : Word);
  1328.  
  1329. Support    : Send and process
  1330.  
  1331. Variables  : Style      : Fill pattern style (see chart)
  1332.              Color      : Fill color
  1333.  
  1334.              Pattern  Description                 Example       Misc
  1335.              ───────────────────────────────────────────────────────────────
  1336.                00     Fill with background color               (color #0)
  1337.                01     Solid Fill                               (fill color)
  1338.                02     Line Fill                   -----------  (thick lines)
  1339.                03     Light Slash Fill            /  /  /  /   (thin lines)
  1340.                04     Normal Slash Fill           // // // //  (thick lines)
  1341.                05     Normal Backslash Fill       \\ \\ \\ \\  (thick lines)
  1342.                06     Light Backslash Fill        \  \  \  \   (thin lines)
  1343.                07     Light Hatch Fill            ###########  (thin lines)
  1344.                08     Heavy Cross Hatch Fill      XXXXXXXXXXX  (thin lines)
  1345.                09     Interleaving Line Fill      +-+-+-+-+-+  (thin lines)
  1346.                10     Widely spaced dot fill      ' . ' . ' .  (pixels only)
  1347.                11     Closely spaced dot fill     '.'.'.'.'.'  (pixels only)
  1348.  
  1349.  
  1350.  
  1351. RipFillPattern procedure
  1352. ─────────────────────────────────────────────────────────────────────────────
  1353. Purpose    : Set a custom fill pattern and color
  1354.  
  1355. Declaration: RipFillPattern(Pattern : FPT; Color : Word);
  1356.  
  1357. Support    : Send and process
  1358.  
  1359. Variables  : Pattern    : Custom pattern (Array[1..8] of Byte)
  1360.              Color      : Fill color
  1361.  
  1362. Notes      : The custom pattern is an 8x8 square area.  Each row is one byte 
  1363.              in the array.  The pattern is bit-mapped much like the
  1364.              RipLineStyle command above.
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371. ┌───────────────────────────────────────────────────────────────────────────┐
  1372. │ RIPlink - Version 1.10                                            Page 27 │
  1373. └───────────────────────────────────────────────────────────────────────────┘
  1374.  
  1375. RipMouse procedure
  1376. ─────────────────────────────────────────────────────────────────────────────
  1377. Purpose    : Define a mouse region
  1378.  
  1379. Declaration: RipMouse(x0,y0,x1,y1 : Word; Click, Clear : Boolean;
  1380.              InStr : String);
  1381.  
  1382. Support    : Send only
  1383.  
  1384. Variables  : x0,y0      : Upper lefthand corner of region
  1385.              x1,y1      : Lower righthand corner of region
  1386.              Click      : Invert the region when clicked?
  1387.              Clear      : Clear screen when clicked?
  1388.              InStr      : String to send when region is clicked
  1389.  
  1390.  
  1391.  
  1392. RipKillMouseFields procedures
  1393. ─────────────────────────────────────────────────────────────────────────────
  1394. Purpose    : Kill all mouse regions
  1395.  
  1396. Declaration: RipKillMouseFields;
  1397.  
  1398. Support    : Send only
  1399.  
  1400.  
  1401.  
  1402. RipBeginText procedure
  1403. ─────────────────────────────────────────────────────────────────────────────
  1404. Purpose    : Begin a text region
  1405.  
  1406. Declaration: RipBeginText(x0,y0,x1,y1 : Word);
  1407.  
  1408. Support    : Send only
  1409.  
  1410. Variables  : x0,y0      : Upper lefthand corner of text region
  1411.              x1,y1      : Lower righthand corner of text region
  1412.  
  1413. Notes      : This command defines a region on the view port for text.  This
  1414.              is usually used for long streams of text.  Following this
  1415.              command should be one or more RipRegionText commands followed 
  1416.              by a RipEndText command.
  1417.  
  1418.  
  1419.  
  1420. RipRegionText procedure
  1421. ─────────────────────────────────────────────────────────────────────────────
  1422. Purpose    : Put text in the current text region
  1423.  
  1424. Declaration: RipRegionText(Justify : Boolean; InStr : String);
  1425.  
  1426. Support    : Send only
  1427.  
  1428. Variables  : Justify    : Do left/righthand justification?
  1429.              InStr      : String to write in the text region
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436. ┌───────────────────────────────────────────────────────────────────────────┐
  1437. │ RIPlink - Version 1.10                                            Page 28 │
  1438. └───────────────────────────────────────────────────────────────────────────┘
  1439.  
  1440. RipEndText procedure
  1441. ─────────────────────────────────────────────────────────────────────────────
  1442. Purpose    : End the current text region
  1443.  
  1444. Declaration: RipEndText;
  1445.  
  1446. Support    : Send only
  1447.  
  1448.  
  1449.  
  1450. RipGetImage procedure
  1451. ─────────────────────────────────────────────────────────────────────────────
  1452. Purpose    : Get an image from the screen and place it in the clipboard (CB)
  1453.  
  1454. Declaration: RipGetImage(x0,y0,x1,y1 : Word);
  1455.  
  1456. Support    : Send and process
  1457.  
  1458. Variables  : x0,y0      : Upper lefthand corner of image
  1459.              x1,y1      : Lower righthand corner of image
  1460.  
  1461.  
  1462.  
  1463. RipPutImage procedure
  1464. ─────────────────────────────────────────────────────────────────────────────
  1465. Purpose    : Move the image in the CB to the screen
  1466.  
  1467. Declaration: RipPutImage(x0,y0,Mode : Word);
  1468.  
  1469. Support    : Send and process
  1470.  
  1471. Variables  : x0,y0      : Upper lefthand corner of image
  1472.              Mode       : Mode to paste image onto screen with (see chart)
  1473.  
  1474.              Mode Description                                        Logical
  1475.              ───────────────────────────────────────────────────────────────
  1476.               00  Paste the image on-screen normally                  (COPY)
  1477.               01  Exclusive-OR  image with the one already on screen  (XOR)
  1478.               02  Logically OR  image with the one already on screen  (OR)
  1479.               03  Logically AND image with the one already on screen  (AND)
  1480.               04  Paste the inverse of the image on the screen        (NOT)
  1481.  
  1482.  
  1483.  
  1484. RipWriteIcon procedure
  1485. ─────────────────────────────────────────────────────────────────────────────
  1486. Purpose    : Write the image in the CB to disk
  1487.  
  1488. Declaration: RipWriteIcon(FName : Str12);
  1489.  
  1490. Support    : Send and process
  1491.  
  1492. Variables  : FName      : Icon name (with extension)
  1493.  
  1494. Notes      : This will override an icon with the same name if one exists.
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501. ┌───────────────────────────────────────────────────────────────────────────┐
  1502. │ RIPlink - Version 1.10                                            Page 29 │
  1503. └───────────────────────────────────────────────────────────────────────────┘
  1504.  
  1505. RipLoadIcon procedure
  1506. ─────────────────────────────────────────────────────────────────────────────
  1507. Purpose    : Load icon from disk, paste to screen, and optionally paste to CB
  1508.  
  1509. Declaration: RipLoadIcon(x0,y0,Mode: Word; ClipBrd: Boolean; FName: Str12);
  1510.  
  1511. Support    : Send and process
  1512.  
  1513. Variables  : x0,y0      : Upper lefthand corner of image
  1514.              Mode       : Mode to paste image with (see chart in RipPutImage)
  1515.              ClipBrd    : Put the image into the clipboard?
  1516.              FName      : Icon name
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523. ┌───────────────────────────────────────────────────────────────────────────┐
  1524. │ RIPlink - Version 1.10                                            Page 30 │
  1525. └───────────────────────────────────────────────────────────────────────────┘
  1526.  
  1527. RipButtonStyle procedure
  1528. ─────────────────────────────────────────────────────────────────────────────
  1529. Purpose    : Define the button style
  1530.  
  1531. Declaration: RipButtonStyle(Wid,Hgt,Orient,Flags,BevSize,DFore,DBack,Bright,
  1532.              Dark,Surface,Grp_No,Flags2,ULine_Col,Corner_Col : Word);
  1533.  
  1534. Support    : Send and process
  1535.  
  1536. Variables  : Wid        : Width of a plain button
  1537.              Hgt        : Height of a plain button
  1538.              Orient     : Orientation of button label (see chart)
  1539.              Flags      : Flags 1 (see chart)
  1540.              BevSize    : Size of bevel (if enabled)
  1541.              DFore      : Text foreground color
  1542.              DBack      : Dropshadow color
  1543.              Bright     : Hi-lighted color
  1544.              Dark       : Shadowed color
  1545.              Surface    : Button surface color
  1546.              Grp_No     : Group Number
  1547.              Flags2     : Flags 2 (see chart)
  1548.              ULine_Col  : Underline color
  1549.              Corner_Col : Corner color
  1550.  
  1551.              Value   Description of Orientation
  1552.              ─────────────────────────────────────────────────
  1553.               00     Display label above button
  1554.               01     Display label to the left of button
  1555.               02     Display label in the center of the button
  1556.               03     Display label to the right of button
  1557.               04     Display label beneath the button
  1558.  
  1559.              Value   Description of Flags Field #1
  1560.              ─────────────────────────────────────────
  1561.                  1   Button is a "Clipboard Button"
  1562.                  2   Button is "Invertable"
  1563.                  4   Reset screen after button click
  1564.                  8   Display Chisel special effect
  1565.                 16   Display Recessed special effect
  1566.                 32   Dropshadow the label (if any)
  1567.                 64   Auto-stamp image onto Clipboard
  1568.                128   Button is an "Icon Button"
  1569.                256   Button is a "Plain Button"
  1570.                512   Display Bevel special effect
  1571.               1024   Button is a Mouse Button
  1572.               2048   Underline hot-key in label
  1573.               4096   Make Icon Button use Hot Icons
  1574.               8192   Adj. vertical centering of label
  1575.              16384   Button belongs to a Radio Group
  1576.              32768   Display Sunken special effect
  1577.  
  1578.  
  1579.  
  1580.  
  1581. ┌───────────────────────────────────────────────────────────────────────────┐
  1582. │ RIPlink - Version 1.10                                            Page 31 │
  1583. └───────────────────────────────────────────────────────────────────────────┘
  1584.  
  1585.              Value Description of Flags Field #2
  1586.              ─────────────────────────────────────────
  1587.                  1   Button is in a check box group
  1588.                  2   Highlight hotkey character
  1589.                  4   Explode (zoom out when clicked)
  1590.                  8   Left Justify Label (top/ctr/btm)
  1591.                 16   Right Justify Label (top/ctr/btm)
  1592.  
  1593. Notes      : Flags1 and Flags2 are bitmapped.  As such, you may add values
  1594.              together to get the desired combination.
  1595.  
  1596.  
  1597.  
  1598. RipButton procedure
  1599. ─────────────────────────────────────────────────────────────────────────────
  1600. Purpose    : Draw a button
  1601.  
  1602. Declaration: RipButton(x0,y0,x1,y1,HotKey: Word; Flags: Byte; Icon: Str12;
  1603.              sLabel: String; Cmd: String);
  1604.  
  1605. Support    : Send and process
  1606.  
  1607. Variables  : x0,y0      : Upper lefthand corner of the button
  1608.              x1,y1      : Lower righthand corner of the button
  1609.              HotKey     : ASCII value of hotkey character for this button
  1610.                           (If this is a letter, it should be uppercase)
  1611.              Flags      : Flags (see chart)
  1612.              Icon       : Name of icon (if any)
  1613.              sLabel     : Button Label (if any)
  1614.              Cmd        : Command for terminal to return when this button is
  1615.                           selected
  1616.  
  1617.              Value  Description
  1618.              ──────────────────────────────────────────────────
  1619.                1    Draw button as already selected
  1620.                2    Button is "default" when <ENTER> is pressed
  1621.  
  1622. Notes      : Flags is a bitmapped field.
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629. ┌───────────────────────────────────────────────────────────────────────────┐
  1630. │ RIPlink - Version 1.10                                            Page 32 │
  1631. └───────────────────────────────────────────────────────────────────────────┘
  1632.  
  1633. RipDefine procedure
  1634. ─────────────────────────────────────────────────────────────────────────────
  1635. Purpose    : Define a text variable
  1636.  
  1637. Declaration: RipDefine(Flags: Word; TextVar: Str12; Width: Byte; Ques,
  1638.              Default : String);
  1639.  
  1640. Support    : Send only
  1641.  
  1642. Variables  : Flags      : Flags (see chart)
  1643.              TextVar    : Variable Identifier
  1644.              Width      : Variable Length
  1645.              Ques       : Question to prompt user with
  1646.              Default    : Default answer (if any)
  1647.  
  1648.              Value  Description
  1649.              ──────────────────────────────────────
  1650.              01     Save Variable to database
  1651.              02     Cannot specify a blank response
  1652.              04     Non-interactive query
  1653.  
  1654. Notes      : Flags is a bitmapped field.
  1655.  
  1656.  
  1657.  
  1658. RipQuery procedure
  1659. ─────────────────────────────────────────────────────────────────────────────
  1660. Purpose    : Query user for a text variable
  1661.  
  1662. Declaration: RipQuery(Mode : Byte; InStr : String);
  1663.  
  1664. Support    : Send only
  1665.  
  1666. Variables  : Mode       : Query Mode (see chart)
  1667.              InStr      : Query prompt (see Notes)
  1668.  
  1669.              Mode  Description
  1670.              ───────────────────────────────────────────────────────────
  1671.               0    Process the query command NOW (upon receipt)
  1672.               1    Process when mouse clicked in Graphics Window
  1673.               2    Process when mouse clicked in Text Window (any text
  1674.                    variables that return X or Y mouse coordinates return
  1675.                    TEXT coordinates, not graphics coordinates in this
  1676.                    mode.  These coordinates are two-digit values instead
  1677.                    of the graphical values that are four digits).
  1678.  
  1679. Notes      : Due to the various possibilities of this command, it is
  1680.              suggested that you read about it in the RIPscrip document.
  1681.              However, it's briefly explained here.  InStr includes a
  1682.              question or statement and a text variable.  It might look like
  1683.              this: 'My name is $FULL_NAME$.'  If the text variable
  1684.              $FULL_NAME$ contained 'John Doe' then the result would be
  1685.              something like: 'My name is John Doe.'
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692. ┌───────────────────────────────────────────────────────────────────────────┐
  1693. │ RIPlink - Version 1.10                                            Page 33 │
  1694. └───────────────────────────────────────────────────────────────────────────┘
  1695.  
  1696. RipCopyRegion procedure
  1697. ─────────────────────────────────────────────────────────────────────────────
  1698. Purpose    : Copy a region on the screen up or down
  1699.  
  1700. Declaration: RipCopyRegion(x0,y0,x1,y1,DestLine : Word);
  1701.  
  1702. Support    : Send only
  1703.  
  1704. Variables  : x0,y0      : Upper lefthand corner of region
  1705.              x1,y1      : Lower righthand corner of region
  1706.              DestLine   : New Y scan line to copy image to
  1707.  
  1708. Notes      : This command copies the specified region up or down.  It does
  1709.              not clear the original image.  This command does not adhere to
  1710.              the limitations imposed by the view port.  It will work
  1711.              anywhere on the screen.
  1712.  
  1713.  
  1714.  
  1715. RipReadScene procedure
  1716. ─────────────────────────────────────────────────────────────────────────────
  1717. Purpose    : Display/process a RIP file
  1718.  
  1719. Declaration: RipReadScene(FName : Str12);
  1720.  
  1721. Support    : Send only
  1722.  
  1723. Variables  : FNames     : RIP file name
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730. ┌───────────────────────────────────────────────────────────────────────────┐
  1731. │ RIPlink - Version 1.10                                            Page 34 │
  1732. └───────────────────────────────────────────────────────────────────────────┘
  1733.  
  1734. RipFileQuery procedure
  1735. ─────────────────────────────────────────────────────────────────────────────
  1736. Purpose    : Get information of a file (usually an icon file)
  1737.  
  1738. Declaration: RipFileQuery(Mode : Word; FName : Str12);
  1739.  
  1740. Support    : Send only
  1741.  
  1742. Variables  : Mode       : Query mode (see chart)
  1743.              FName      : Name of file to get information about
  1744.  
  1745.              Mode  Description
  1746.              ─────────────────────────────────────────────────
  1747.               00   Simply query the existence of the file.  If it exists, a
  1748.                    "1" is returned.  Otherwise a "0" is returned to the Host
  1749.                    (without a carriage return).
  1750.               01   Same as 0, except a carriage return is added after the
  1751.                    response.
  1752.               02   Queries the existence of a file.  If it does not exist, a
  1753.                    "0" is returned to the Host followed by a carriage
  1754.                    return.  If it does exist, the returned text is a "1."
  1755.                    followed by the file size (in decimal).  The return
  1756.                    sequence is terminated by a carriage return.  An example
  1757.                    of the returned text could be "1.20345".
  1758.               03   Queries extended return information.  If the file does
  1759.                    not exist, a "0" is returned followed by a carriage
  1760.                    return.  If it does exist, the text returned to the Host
  1761.                    is in the Format: 1.size.date.time <cr>.  An example of a
  1762.                    return statement could be "1.20345.01/02/93.03:04:30<cr>"
  1763.               04   Queries extended return information.  If the file does
  1764.                    not exist, a "0" is returned followed by a carriage
  1765.                    return.  If it does exist, the text returned to the Host
  1766.                    is in the Format: 1.filename.size.date.time <cr>. An
  1767.                    example of a return statement could be
  1768.                    "1.MYFILE.RIP.20345.01/02/93.03:04:30 <cr>".  Note that
  1769.                    the file extension adds another period into the return
  1770.                    text.
  1771.  
  1772. Notes      : You must check for the return information and deal with it
  1773.              yourself.
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780. ┌───────────────────────────────────────────────────────────────────────────┐
  1781. │ RIPlink - Version 1.10                                            Page 35 │
  1782. └───────────────────────────────────────────────────────────────────────────┘
  1783.  
  1784. RipEnterBlockMode procedure
  1785. ─────────────────────────────────────────────────────────────────────────────
  1786. Purpose    : Enter file transfer mode with the remote system
  1787.  
  1788. Declaration: RipEnterBlockMode(UL: Boolean; Proto,FType: Word;
  1789.              FName: Str12);
  1790.  
  1791. Support    : Send only
  1792.  
  1793. Variables  : UL         : True: Upload; False: Download
  1794.              Proto      : Protocol to use (see chart)
  1795.              FType      : Transfer Type (see char)
  1796.              FName      : FileName (if UL, Xmodem, or Kermit)
  1797.  
  1798.              Value   Protocol            Filename Required?
  1799.              ──────────────────────────────────────────────
  1800.                0     Xmodem (checksum)          Yes
  1801.                1     Xmodem (CRC)               Yes
  1802.                2     Xmodem-1K                  Yes
  1803.                3     Xmodem-1K (G)              Yes
  1804.                4     Kermit                     Yes
  1805.                5     Ymodem (batch)             No
  1806.                6     Ymodem-G                   No
  1807.                7     Zmodem (crash recovery)    No
  1808.  
  1809.              Value   Description of Block Transfer Contents
  1810.              ──────────────────────────────────────────────────────────────
  1811.                0     RIP file sequence (display it)
  1812.                1     RIP file sequence (store them)
  1813.                2     ICN file sequence (store them in proper directories)
  1814.                3     HLP file sequence (store it, and auto-load if needed)
  1815.                4     COMPOSITE DYNAMIC file sequence (batch protocols only)
  1816.                5     ACTIVE DYNAMIC file sequence (batch protocols only)
  1817.  
  1818. Notes      : Composite Dynamic and Active Dynamic modes process the files
  1819.              based on file extension.  They will only work for .RIP and .ICN
  1820.              files though.  Composite just stores the files while Active
  1821.              stores and displays the .RIP files.
  1822.  
  1823.  
  1824.  
  1825. RipNoMore procedure
  1826. ─────────────────────────────────────────────────────────────────────────────
  1827. Purpose    : End a RIP sequence
  1828.  
  1829. Declaration: RipNoMore;
  1830.  
  1831. Support    : Send and process
  1832.  
  1833. Notes      : It's suggested that you send 3 of these each time you are going
  1834.              to prompt the user for input, etc.
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841. ┌───────────────────────────────────────────────────────────────────────────┐
  1842. │ RIPlink - Version 1.10                                            Page 36 │
  1843. └───────────────────────────────────────────────────────────────────────────┘
  1844.  
  1845. SendStr procedure
  1846. ─────────────────────────────────────────────────────────────────────────────
  1847. Purpose    : A procedure to be overwritten to work with your comm routines
  1848.  
  1849. Declaration: SendStr(InStr : String);
  1850.  
  1851. Notes      : An undefined procedure designed to be overwritten.  See the
  1852.              example door provided.
  1853.  
  1854.  
  1855.  
  1856. StatLine procedure
  1857. ─────────────────────────────────────────────────────────────────────────────
  1858. Purpose    : Display a status line
  1859.  
  1860. Declaration: StatLine;
  1861.  
  1862. Notes      : This should be called after RipObj.StatText is (re)set.
  1863.  
  1864.  
  1865.  
  1866. Done destructor
  1867. ─────────────────────────────────────────────────────────────────────────────
  1868. Purpose    : End the RIPlink processor
  1869.  
  1870. Declaration: Done;
  1871.  
  1872. Notes      : Cleans up.  Use when ending your program.  Returns to text
  1873.              mode, etc.
  1874.  
  1875.  
  1876.  
  1877. DisplayRIPfile function
  1878. ─────────────────────────────────────────────────────────────────────────────
  1879. Purpose    : Display a RIP file.
  1880.  
  1881. Declaration: DisplayRIPfile(Path : String): Boolean;
  1882.  
  1883. Returns    : True: File existed; False: File did not exist
  1884.  
  1885. Variables  : Path       : Full path and name of .RIP file to display
  1886.  
  1887. Notes      : This procedure calls ParseRip for each character.  You may
  1888.              choose to write your own processor if this one does not suit
  1889.              your needs.
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896. ┌───────────────────────────────────────────────────────────────────────────┐
  1897. │ RIPlink - Version 1.10                                            Page 37 │
  1898. └───────────────────────────────────────────────────────────────────────────┘
  1899.  
  1900. ParseRip procedure
  1901. ─────────────────────────────────────────────────────────────────────────────
  1902. Purpose    : Parse next character in a RIPscrip sequence
  1903.  
  1904. Declaration: ParseRip(C : Char; SendChar : Boolean);
  1905.  
  1906. Variables  : C          : Character to parse
  1907.              SendChar   : Send this character out the port?
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914. ┌───────────────────────────────────────────────────────────────────────────┐
  1915. │ RIPlink - Version 1.10                                            Page 38 │
  1916. └───────────────────────────────────────────────────────────────────────────┘
  1917.  
  1918. ┌───────────────────────────────────────────────────────────────────────────┐
  1919. │░░░▒▒▒▓▓▓███              Programming Suggestions              ███▓▓▓▒▒▒░░░│
  1920. └───────────────────────────────────────────────────────────────────────────┘
  1921.  
  1922. It is suggested that you include a reference in your documentation that
  1923. RIPscrip currently only supports EGA graphics.  This will hopefully
  1924. eliminate the possibility of people with CGA or Mono monitors who can't seem
  1925. to make the RIP graphics work <grin>.  RIPlink will still send out RIP codes
  1926. to the user, of course.
  1927.  
  1928.  
  1929.  
  1930. ┌───────────────────────────────────────────────────────────────────────────┐
  1931. │░░░▒▒▒▓▓▓███           Comments from InterProgramming          ███▓▓▓▒▒▒░░░│
  1932. └───────────────────────────────────────────────────────────────────────────┘
  1933.  
  1934. As mentioned above, RIPlink doesn't fully support everything specified by
  1935. the RIPscrip standard.  At this time, we're looking for code to generate
  1936. Bezier curves.  If you have any, please send it along so that we can add it
  1937. in.  We hope you enjoy this product.  It has increased registrations of our
  1938. products substantially, and we hope it does the same for you.  Feel free to
  1939. contact us if you need assistance, have comments etc.  Also, to any door
  1940. author who is interested:  Send us a registered copy of your door and we'll
  1941. put it up on our board for others to see and use.  And, if you send us a
  1942. distribution copy, we'll make it available for download and Freq.  Finally,
  1943. RIP 2.xx is due out sometime in the not too distant future.  We will release
  1944. another version of RIPlink to support the changes in RIP 2.xx
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951. ┌───────────────────────────────────────────────────────────────────────────┐
  1952. │ RIPlink - Version 1.10                                            Page 39 │
  1953. └───────────────────────────────────────────────────────────────────────────┘
  1954.  
  1955. ┌───────────────────────────────────────────────────────────────────────────┐
  1956. │░░░▒▒▒▓▓▓███                      Credits                      ███▓▓▓▒▒▒░░░│
  1957. └───────────────────────────────────────────────────────────────────────────┘
  1958.  
  1959. Special thanks go out to the following people:
  1960.  
  1961. John Tucker for his support, particularly when first developing RIPlink.
  1962.  
  1963. Jason Niver for his tremendous help with many projects and always being
  1964.  around to help and for being a great friend too!
  1965.  
  1966. Jason Trowbridge for just being there and for providing input and comments
  1967.  on RIPlink.  He's also been a great friend.
  1968.  
  1969. Michael Welling for his assistance in making RIPlink available for TP 5.5.
  1970.  
  1971. And last, but not least, those individuals who sent us messages stating
  1972.  their interest in this product before it was available, or even known
  1973.  about.
  1974.  
  1975.      You were all instrumental in making RIPlink what it is.
  1976.  
  1977.           THANKS GUYS!
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984. ┌───────────────────────────────────────────────────────────────────────────┐
  1985. │ RIPlink - Version 1.10                                            Page 40 │
  1986. └───────────────────────────────────────────────────────────────────────────┘
  1987.  
  1988. ┌───────────────────────────────────────────────────────────────────────────┐
  1989. │░░░▒▒▒▓▓▓███                 Index to Methods                  ███▓▓▓▒▒▒░░░│
  1990. └───────────────────────────────────────────────────────────────────────────┘
  1991.  
  1992.         Method Name           Page        Method Name           Page
  1993.         ──────────────────   ──────       ──────────────────   ──────
  1994.         DisplayRIPfile         36         RipKillMouseFields     27
  1995.         Done                   36         RipLine                20
  1996.         Init                   12         RipLineStyle           25
  1997.         MegaToWord             13         RipLoadIcon            29
  1998.         Mega4ToLong            13         RipMouse               27
  1999.         ParseRip               37         RipMove                18
  2000.         RipArc                 22         RipNoMore              35
  2001.         RipBar                 20         RipOnePalette          17
  2002.         RipBeginText           27         RipOval                21
  2003.         RipBezier              23         RipOvalArc             22
  2004.         RipButton              31         RipOvalPieSlice        23
  2005.         RipButtonStyle         30         RipPieSlice            22
  2006.         RipCircle              21         RipPixel               20
  2007.         RipColor               16         RipPolygon             23
  2008.         RipCopyRegion          33         RipPutImage            28
  2009.         RipDefine              32         RipQuery               32
  2010.         RipEndText             28         RipReadScene           33
  2011.         RipEnterBlockMode      35         RipRectangle           20
  2012.         RipEraseEOL            15         RipRegionText          27
  2013.         RipEraseView           15         RipResetWindows        14
  2014.         RipEraseWindow         15         RipSetPalette          17
  2015.         RipFileQuery           34         RipText                18
  2016.         RipFill                24         RipTextWindow          14
  2017.         RipFilledOval          21         RipTextXY              19
  2018.         RipFillPattern         26         RipViewPort            14
  2019.         RipFillPoly            24         RipWriteIcon           28
  2020.         RipFillStyle           26         RipWriteMode           18
  2021.         RipFontStyle           19         SendStr                36
  2022.         RipGetImage            28         StatLine               36
  2023.         RipGotoXY              15         WordToMega             12
  2024.         RipHome                15         WordToMega4            13
  2025.  
  2026.  
  2027. --EOF--
  2028.